//
//  UILabel+WLTimer.m
//  CeXi
//
//  Created by Rice on 2017/3/20.
//  Copyright © 2017年 gfeng. All rights reserved.
//

#import "UILabel+WLTimer.h"
@implementation UILabel (WLTimer)
-(void)startTime:(NSInteger )timeout title:(NSString *)tittle waitTittle:(NSString *)waitTittle{
    __block NSInteger timeOut=timeout; //倒计时时间
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);
    dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行
    dispatch_source_set_event_handler(_timer, ^{
        if(timeOut<=0){ //倒计时结束，关闭
//            self.backgroundColor = HexColor(@"00A0FF");
            dispatch_source_cancel(_timer);
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
                self.numberOfLines = 2;
                self.text = tittle;
                self.backgroundColor = [UIColor lightGrayColor];
//                [self setTitle:tittle forState:UIControlStateNormal];
                self.userInteractionEnabled = YES;
            });
        }else{
            //            int minutes = timeout / 60;
//            self.backgroundColor = HexColor(@"ffffff");
            int seconds = (int)timeOut;
            NSString *strTime = [NSString stringWithFormat:@"%d", seconds];
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
                NSLog(@"____%@",strTime);
                self.numberOfLines = 2;
                self.backgroundColor = [UIColor grayColor];
                self.text = [NSString stringWithFormat:@"%@%@",strTime,waitTittle];
//                [self setTitle:[NSString stringWithFormat:@"%@%@",strTime,waitTittle] forState:UIControlStateNormal];
                self.userInteractionEnabled = NO;
                
            });
            timeOut--;
        }
    });
    dispatch_resume(_timer);
}

-(void)startTime:(NSInteger )timeout
      waitTittle:(NSString *)waitTittle
          cencel:(void(^)())cencelBlock{
    __block NSInteger timeOut=timeout; //倒计时时间
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);
    dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行
    dispatch_source_cancel(_timer);
    dispatch_source_set_event_handler(_timer, ^{
        if(timeOut<=0){ //倒计时结束，关闭
            //            self.backgroundColor = HexColor(@"00A0FF");
            dispatch_source_cancel(_timer);
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
                if (cencelBlock) {
                    cencelBlock();
                }
            });
        }else{
            //            int minutes = timeout / 60;
            //            self.backgroundColor = HexColor(@"ffffff");
            int seconds = (int)timeOut;
            NSString *strTime = [NSString stringWithFormat:@"%d", seconds];
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
                NSLog(@"____%@",strTime);
                self.numberOfLines = 2;
                self.backgroundColor = [UIColor grayColor];
                self.text = [NSString stringWithFormat:@"%@%@",strTime,waitTittle];
                //                [self setTitle:[NSString stringWithFormat:@"%@%@",strTime,waitTittle] forState:UIControlStateNormal];
                self.userInteractionEnabled = NO;
                
            });
            timeOut--;
        }
    });
    dispatch_resume(_timer);
}
@end
